package com.wgchao.amc.service;

import com.wgchao.amc.autho.AuthoInfoCenter;
import com.wgchao.amc.common.PageData;
import com.wgchao.amc.common.ResultCommon;
import com.wgchao.amc.mapstruct.dto.SysBaseRoleDTO;

import java.util.List;

/**
 * @ClassName: RoleService
 * @author: wgchao
 * @createTime: 2019/10/29 10:53 AM
 * @Description: TODO
 */
public interface RoleService {

    public ResultCommon<SysBaseRoleDTO> save(SysBaseRoleDTO roleDTO, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon<SysBaseRoleDTO> search(Long roleId) throws Exception;

    public ResultCommon<List<SysBaseRoleDTO>> search(String agencyCode) throws Exception;

    public ResultCommon<List<SysBaseRoleDTO>> searchofGroup(Long groupId) throws Exception;

    public ResultCommon<List<SysBaseRoleDTO>> searchofUser(Long userId, Long groupId) throws Exception;

    public ResultCommon<SysBaseRoleDTO> update(SysBaseRoleDTO roleDTO, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon delete(List<Long> roleIds, AuthoInfoCenter authoInfoCenter) throws Exception;

    public ResultCommon<PageData<SysBaseRoleDTO>> page(int page, int limit, String agencyCode, String roleName) throws Exception;
}
